home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 25 / Cream of the Crop 25.iso / bbs / fcfgw40s.zip / PROPFI~2.CPP < prev    next >
C/C++ Source or Header  |  1996-04-16  |  4KB  |  159 lines

  1. // PropFileGroup.cpp : implementation file
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "FileCFG.h"
  6. #include "PropFileGroup.h"
  7. #include "proboard.h"
  8. #include <stdlib.h>
  9. #include <stdio.h>
  10.  
  11. #ifdef _DEBUG
  12. #define new DEBUG_NEW
  13. #undef THIS_FILE
  14. static char THIS_FILE[] = __FILE__;
  15. #endif
  16.  
  17. /////////////////////////////////////////////////////////////////////////////
  18. // CPropFileGroup property page
  19.  
  20. IMPLEMENT_DYNCREATE(CPropFileGroup, CPropertyPage)
  21.  
  22. CPropFileGroup::CPropFileGroup() : CPropertyPage(CPropFileGroup::IDD)
  23. {
  24.     //{{AFX_DATA_INIT(CPropFileGroup)
  25.     m_AllGroups = FALSE;
  26.     m_CheckGroup1 = FALSE;
  27.     m_CheckGroup2 = FALSE;
  28.     m_CheckGroup3 = FALSE;
  29.     m_CheckGroup4 = FALSE;
  30.     m_Value1 = -1;
  31.     m_Value2 = -1;
  32.     m_Value3 = -1;
  33.     m_Value4 = -1;
  34.     //}}AFX_DATA_INIT
  35. }
  36.  
  37. CPropFileGroup::~CPropFileGroup()
  38. {
  39. }
  40.  
  41. const char *CPropFileGroup::m_StrNoName = "╖╖╖<empty definition>╖╖╖";
  42.  
  43. void CPropFileGroup::DoDataExchange(CDataExchange* pDX)
  44. {
  45.     CPropertyPage::DoDataExchange(pDX);
  46.     //{{AFX_DATA_MAP(CPropFileGroup)
  47.     DDX_Control(pDX, IDC_COMBO_GROUP4, m_Group4);
  48.     DDX_Control(pDX, IDC_COMBO_GROUP3, m_Group3);
  49.     DDX_Control(pDX, IDC_COMBO_GROUP2, m_Group2);
  50.     DDX_Control(pDX, IDC_COMBO_GROUP1, m_Group1);
  51.     DDX_Check(pDX, IDC_CHECK_ALL_GROUPS, m_AllGroups);
  52.     DDX_Check(pDX, IDC_CHECK_GROUP1, m_CheckGroup1);
  53.     DDX_Check(pDX, IDC_CHECK_GROUP2, m_CheckGroup2);
  54.     DDX_Check(pDX, IDC_CHECK_GROUP3, m_CheckGroup3);
  55.     DDX_Check(pDX, IDC_CHECK_GROUP4, m_CheckGroup4);
  56.     DDX_CBIndex(pDX, IDC_COMBO_GROUP1, m_Value1);
  57.     DDX_CBIndex(pDX, IDC_COMBO_GROUP2, m_Value2);
  58.     DDX_CBIndex(pDX, IDC_COMBO_GROUP3, m_Value3);
  59.     DDX_CBIndex(pDX, IDC_COMBO_GROUP4, m_Value4);
  60.     //}}AFX_DATA_MAP
  61. }
  62.  
  63.  
  64. BEGIN_MESSAGE_MAP(CPropFileGroup, CPropertyPage)
  65.     //{{AFX_MSG_MAP(CPropFileGroup)
  66.     ON_BN_CLICKED(IDC_CHECK_GROUP1, OnCheckGroup1)
  67.     ON_BN_CLICKED(IDC_CHECK_GROUP2, OnCheckGroup2)
  68.     ON_BN_CLICKED(IDC_CHECK_GROUP3, OnCheckGroup3)
  69.     ON_BN_CLICKED(IDC_CHECK_GROUP4, OnCheckGroup4)
  70.     //}}AFX_MSG_MAP
  71. END_MESSAGE_MAP()
  72.  
  73. /////////////////////////////////////////////////////////////////////////////
  74. // CPropFileGroup message handlers
  75.  
  76. void CPropFileGroup::OnCheckGroup1() 
  77. {
  78.     UpdateData(TRUE);
  79.     if( TRUE == m_CheckGroup1 ){
  80.         m_Group1.EnableWindow(TRUE);
  81.     }
  82.     else{
  83.         m_Group1.EnableWindow(FALSE);
  84.     }
  85. }
  86.  
  87. void CPropFileGroup::OnCheckGroup2() 
  88. {    
  89.     UpdateData(TRUE);
  90.     if( TRUE == m_CheckGroup2 ){
  91.         m_Group2.EnableWindow(TRUE);
  92.     }
  93.     else{
  94.         m_Group2.EnableWindow(FALSE);
  95.     }
  96. }
  97.  
  98. void CPropFileGroup::OnCheckGroup3() 
  99. {    
  100.     UpdateData(TRUE);
  101.     if( TRUE == m_CheckGroup3 ){
  102.         m_Group3.EnableWindow(TRUE);
  103.     }
  104.     else{
  105.         m_Group3.EnableWindow(FALSE);
  106.     }
  107. }
  108.  
  109. void CPropFileGroup::OnCheckGroup4() 
  110. {
  111.     UpdateData(TRUE);
  112.     if( TRUE == m_CheckGroup4 ){
  113.         m_Group4.EnableWindow(TRUE);
  114.     }
  115.     else{
  116.         m_Group4.EnableWindow(FALSE);
  117.     }
  118. }
  119.  
  120. BOOL CPropFileGroup::OnInitDialog() 
  121. {
  122.     CPropertyPage::OnInitDialog();
  123.     
  124.     CFile      file;
  125.     char       path[_MAX_PATH];
  126.     TFileGroup group;
  127.  
  128.     // initialize the group settings here
  129.     sprintf(path, "%s\\FGROUPS.PB", getenv("PROBOARD"));
  130.     if( !file.Open(path, CFile::modeRead|CFile::typeBinary|CFile::shareDenyWrite) ){
  131.         MessageBox("Cannot load group definitions.", "FileCFG/95", MB_OK|MB_ICONSTOP);
  132.         return FALSE;
  133.     }
  134.     UINT bytes  = file.Read(&group, sizeof(group));
  135.     while( bytes == sizeof(group) ){
  136.         CString name;
  137.         if( '\0' == group.name[0] ){
  138.             name = m_StrNoName;
  139.         }
  140.         else{
  141.             name = group.name;
  142.             name.AnsiToOem();
  143.         }
  144.         m_Group1.AddString(name);
  145.         m_Group2.AddString(name);
  146.         m_Group3.AddString(name);
  147.         m_Group4.AddString(name);
  148.         bytes = file.Read(&group, sizeof(group));
  149.     }
  150.     file.Close();
  151.  
  152.     if( m_CheckGroup1 ) m_Group1.EnableWindow(TRUE);
  153.     if( m_CheckGroup2 ) m_Group2.EnableWindow(TRUE);
  154.     if( m_CheckGroup3 ) m_Group3.EnableWindow(TRUE);
  155.     if( m_CheckGroup4 ) m_Group4.EnableWindow(TRUE);
  156.  
  157.     return TRUE;
  158. }
  159.